In data processing equipment, instruction sequences are sequenced according to a pregiven program within which also so-called subroutine operations can be performed. An analogue principle of carrying out of primary and subsequences is applied also to the sequencing of microinstructions within a microprogram. If from a primary sequence a jump into a subsequence is carried out, then after operation or sequencing of the subsequence a jump into the primary sequence must take place to the place at which same had been left or which follows the jump-off point. For this, during jump-off into the subsequence the address of the immediately following instruction in the primary sequence is temporarily stored and the return jump into the primary sequence occurs through control with the temporarily stored return jump address.
Many microprograms contain at the reentry point into the primary sequence, which reentry point is determined by the return jump address, a two-part instruction which is identified also as a branching instruction. The first part of this instruction characterizes a branching function as an operation to be performed, namely generally a program jump which must be carried out. Program jumps may be subroutine jumps, overjumps in the sense of suppressing an instruction in a linear instruction sequence, direct program jumps and distributing jumps. The decision whether such a program jump and which of the possible program jumps must be carried out is contained in the second instruction part and this decision is made depending on the respective result which was obtained by a performance of the subsequence which is associated with the return jump.
The basic purpose of the invention is to carry out the performance of the branching instructions which are controlled in association with a return jump from a subsequence with as little time and storage input as is possible for the instruction sequence because these instructions as organization instructions do not directly contribute to the actual processing and associating of data.
This purpose is inventively attained for a method of the abovementioned type by using as a first part of the branching instruction the instruction which effects a return jump from the subsequence into the primary sequence after the return jump took place.
The invention has recognized as its basis that the return jump instructions which effect the return jump from a subsequence into a primary sequence must characterize only one operation, namely the jump from the subsequence into the primary sequence, because in them due to the use of the temporarily stored return jump address a special address-forming regulation is not needed. Thus the return jump instructions can be utilized with the jump operation contained in them on the one hand for carrying out the return jump and on the other hand, however, also for carrying out of program jumps which are characterized through the described branching instructions. If now the respective return jump instruction is used at the same time as a first part of a branching instruction, which at any rate is contained at the point of a primary sequence, which is achieved through a return jump, then at this point it is possible to save additional storage input for a special operational part of an instruction word, which operational part characterizes a program jump.
The method according to the invention can be carried out in such a manner that the instruction which effects the respective return jump is temporarily stored at least for the time of the return jump and is combined as an operational part with the information existing at the reentry point of the primary sequence to form an instruction word which illustrates the branching instruction. From this one can see directly that at the reentry point only storage input is needed for the information which characterizes the special type of the branching function which must be carried out. Due to the dual utilization of the return jump instruction, a special storage input for the operational part of the branching instruction is not needed.
Aside from the described savings in storage input for instruction words, the invention achieves the important advantage of a fast sequencing time. This is shown in particular in the case of the here considered microprogramming because microprograms contain as is known a very high number of subsequences, which must be controlled from various points of a primary sequence. If with a correspondingly high number of return jumps which must be carried out, the respective return jump instruction is used as an operational part for the branching instruction which is to be sequenced in the primary sequence at the reentry point, it is directly noticeable that for the sequence time of each return jump instruction and the directly following instruction in the primary sequence only one operational part must be read or evaluated.
A further development of the thought of the invention is the provision of a circuit arrangement for carrying out the method, comprising a microinstruction storage from which the microinstruction sequences are taken over dependent on the output signals of a central fixed-cycle control circuit into a microinstruction register and a recoder which is arranged after said microinstruction register delivers control signals for sequencing the microinstructions, wherein a control signal which characterizes a subroutine jump effects the storing of a return jump address in a return jump address storage and a control signal which characterizes the return jump effects the transfer of the return jump address into a microinstruction address register which is associated with the microinstruction storage, which circuit arrangement is constructed such that the central fixed-cycle control circuit transmits into the microinstruction register through a control signal which characterizes a return jump, an output signal for maintaining the return jump instruction which is stored in the microinstruction register and an output signal for the additional taking over of the branching instruction which is controlled by the return jump address, which is transmitted into the microinstruction address register.
The circuit arrangement corresponds in its principal structure and its basic function to the common comparable circuit arrangements for sequencing microinstruction sequences. The important difference which is caused by the invention consists, however, in that when a return jump instruction occurs in the microinstruction register, the additional control signals which characterize this return jump instruction and are described above are derived, which, on the one hand, directly effect the transfer of the return jump address into the microinstruction address register and on the other hand also effect directly such an influence of the central fixed-cycle control circuit such that same transmits the described output signals into a microinstruction register to effect a storing of the return jump instruction and an additional taking over of the branching instruction which exists at the reentry point of the primary sequence. The circuitry requirements necessary to accomplish this are extremely small and consists only in the recoder which is arranged after the microinstruction register having to be designed for emitting the mentioned control signals and the provision of circuit connections which are necessary for the direct release of the described sequences between the decoder and the central fixed-cycle control circuit or the return jump address storage.